package core;
import fileoperation.FileCreation;
import fileoperation.FileReader;
import gitobject.Blob;
import gitobject.Tree;
import index.Index;
import repository.Repository;

import java.io.File;
import java.io.IOException;


public class JitAdd {

    public static void add(String filename) throws Exception {
        // 判断有误该文件
        File file = new File(Repository.getWorkTree() + File.separator + filename);
        if(!file.exists()) {
            throw new IOException("File does not exist.");
        }

        // 判断是不是第一次add，创建暂存区
        Index index = new Index();
        if(!index.exist()){
            FileCreation.createDirectory(Repository.getWorkTree()+File.separator+".jit", "index");
        }else{
            index = Index.getInstance();
        }

        /*
            jitadd以后，将文件添加到暂存区
                (1) 如果是folder/file,index会生成一个blob对象“10064 ...  folder/file”
                    如果是file,index会生成一个bolb对象“10064 ...  file”
                (2) 如果是添加空文件夹，那么不做操作
            jitcommit以后，index的文件内容被取出，生成一个tree，该tree再被放入commit中
        */
        index.addBlobs("",file);
//        if(file.isDirectory()){
//            index.addBlobs(filename,file);
//        }else if(file.isFile()){
//            index.addBlobs("",file);
//        }

    }


}